#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <signal.h>
#include <stdlib.h>

void sigcallback(int sig)
{
    printf("捕捉到一只信号[%d]\n", sig);
    wait(NULL);
}

int main()
{
    signal(SIGCHLD, sigcallback);
    pid_t ret = fork();
    if(ret < 0)
    {
        perror("fork");
        return 0;
    }
    else if(ret == 0)
    {
        printf("i am child 我要退出了\n");
        sleep(5);
        exit(1);
    }
    else
    {
        printf("i am father\n");
        while(1){
          printf("你走吧\n");
          sleep(2);
        }
    }
    return 0;
}
